#ifndef NODETYPES_H
#define NODETYPES_H

#include <QList>

class Node;

typedef void (Node::*NodeTask)();
typedef QList<NodeTask> NodeTaskList;
class NodeTaskInfo : public QPair<Node *, NodeTaskList>
{
public:
    NodeTaskInfo(Node *node, const NodeTaskList &task_list) :
        QPair<Node *, NodeTaskList>(node, task_list)
    {
    }

    bool operator < (const NodeTaskInfo &info) const
    {
        // Set in reverse order.
        return this->second.size() > info.second.size();
    }
};
typedef QList<NodeTaskInfo> NodeTaskInfoList;

#endif // NODETYPES_H
